在機器學習的工作流程裡,包含資料收集、資料前處理、特徵工程、模型訓練、模型優化與模型部署等步驟,而其中的資料前處理、特徵工程與模型訓練這幾個環節會牽涉到一個重要的工作,那便是 資料分析(Data Analysis) ,透過資料分析當中的 資料探索性分析(Exploratory Data Analysis,包括統計分析與資料視覺化) 以及 資料整合(Aggregate) 等技術,透過其中所發現的洞見,我們能夠更加清楚地知道後續的步驟到底該使用什麼方法,才最適合手上分析的資料集,比如說該怎麼去篩選離群值(Outlier)、該做出什麼樣的特徵工程與使用哪一種模型才好等問題。
但是在現今,我們有很大的可能會需要分析非常大量的資料來最後建立我們的模型,而如此量級的資料,通常並非是簡單的硬體設施或本機端可以應付來的,比如說資料太大,記憶體難以負荷,以致無法全部讀取進入工作環境中。那你可能會想說,會不會只要我取樣一部份的資料來進行工作就好? 但是這樣的做法在機器學習中,一個需要越多品質良好的資料越好的領域來說,有可能會引入其他問題,比如說抽樣造成的偏差(Bias)等問題。
為了解決這樣棘手的問題,課程中向大家介紹了一套結合BigQuery與Datalab兩個服務的工作流程,讓我們能夠輕鬆無負擔地完成大規模的資料取得、整合、分析等工作,且在資料分析的工作上還能使用多數人熟悉的Jupyter Notebook開發工具。
在接下來的文章中,我們將和各位介紹到底BigQuery和Datalab兩者到底是個什麼樣的服務,並且搭配簡單的實際使用案例,向大家展現其使用與產出的結果。